package com.zkthink.ceres.pay.wechat.v3.service.ecommerce;

import com.zkthink.ceres.pay.wechat.v3.entity.request.combine.CloseOrderRequest;
import com.zkthink.ceres.pay.wechat.v3.entity.request.combine.CombineOrderRequest;
import com.zkthink.ceres.pay.wechat.v3.entity.request.combine.NoticeOrderRequest;
import com.zkthink.ceres.pay.wechat.v3.entity.request.combine.QueryOrderRequest;
import com.zkthink.ceres.pay.wechat.v3.entity.result.combine.CloseOrderResult;
import com.zkthink.ceres.pay.wechat.v3.entity.result.combine.CombineOrderResult;
import com.zkthink.ceres.pay.wechat.v3.entity.result.combine.NoticeOrderResult;
import com.zkthink.ceres.pay.wechat.v3.entity.result.combine.QueryOrderResult;

/**
 * <p>
 *      支付服务
 * </p>
 *
 * @author vivi.huang
 * @since 2020/5/17
 */
public interface CombinePayService {

    /**
     * 合单下单
     * @param request
     * @return
     */
    CombineOrderResult createCombineOrder(CombineOrderRequest request);

    /**
     * 合单查询
     * @param request
     * @return
     */
    QueryOrderResult queryCombineOrder(QueryOrderRequest request);

    /**
     * 合单关单
     * @param request
     * @return
     */
    CloseOrderResult closeCombineOrder(CloseOrderRequest request);

    /**
     * 支付通知
     * @param request
     * @return
     */
    NoticeOrderResult noticeOrder(NoticeOrderRequest request);


}
